﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Diagnostics;

namespace ShellAnywhere.ViewModel
{
	using Action = ShellAnywhere.Model.Action;
	using IAction = ShellAnywhere.Model.IAction;

	public class ActionViewModel : DependencyObject
	{
		#region ctors
		public ActionViewModel(string prompt = "", string matched = "", string unmatched = "", string description= "")
		{
			Prompt = prompt;
			Matched = matched;
			Unmatched = unmatched;
			Description = description;
		}
		#endregion ctors

		#region props
		public string Prompt
		{
			get { return (string)GetValue(PromptProperty); }
			set { SetValue(PromptProperty, value); }
		}
		public string Matched
		{
			get { return (string)GetValue(MatchedProperty); }
			set { SetValue(MatchedProperty, value); }
		}
		public string Unmatched
		{
			get { return (string)GetValue(UnmatchedProperty); }
			set { SetValue(UnmatchedProperty, value); }
		}
		public string Description
		{
			get { return (string)GetValue(DescriptionProperty); }
			set { SetValue(DescriptionProperty, value); }
		}
		#endregion props

		#region fields
		public static readonly DependencyProperty PromptProperty = DependencyProperty.Register("Prompt", typeof(string), typeof(ActionViewModel), new UIPropertyMetadata(""));
		public static readonly DependencyProperty MatchedProperty = DependencyProperty.Register("Matched", typeof(string), typeof(ActionViewModel), new UIPropertyMetadata(""));
		public static readonly DependencyProperty UnmatchedProperty = DependencyProperty.Register("Unmatched", typeof(string), typeof(ActionViewModel), new UIPropertyMetadata(""));
		public static readonly DependencyProperty DescriptionProperty = DependencyProperty.Register("Description", typeof(string), typeof(ActionViewModel), new UIPropertyMetadata(""));
		#endregion fields
	}
}
